Programació d'automatismes i robots amb Arduino, Processing i Android
7.- Servomotor (0 a 180º)
Anem a veure el funcionament del servomotor SG90 que podem connectar directament a Arduino. El cable roig va a 5V , el cable marró a GND i el taronja al 9 o a qualsevol altre port d'Arduino.
El programa per controlar aquest servo és:
// Sweep
// by BARRAGAN <http://barraganstudio.com>
// This example code is in the public domain.
//Modificat (25-nov-2015): Carles Ferrando.
#include <Servo.h>
Servo servo1; // Crea el objecte servo1 per controlar el servomotor 1
// es poden crear un maxim de 8 objectes servo
// Variable per emmgatzemar la posicio angular del servo (de 0 a 180 graus)
int pos = 0;
void setup()
{
// Adjunta el servo1 al port 9 de Arduino. Dona energia al port 9
servo1.attach(9);
}
void loop()
{ //Comença un bucle loop
//Bloc per anar de 0 a 90
for(pos = 0; pos < 90; pos += 1) // Va des de 0 graus fins 89 graus
{
// Escriu la posicio "pos" al servo1, el fa anar a eixa posicio
servo1.write(pos);
// espera 15 milisegons a que el servo1 arribe a eixa posicio
delay(15);
}
//Espera 2 segons amb la barrera pujada
delay(2000) ;
//Bloc per anar de 90 a 0
for(pos = 9; pos>=1; pos-=1) // Va des de 90 graus fins 0 graus
{
// Escriu la posicio "pos" al servo1, el fa anar a eixa posicio
servo1.write(pos);
// espera 15 milisegons a que el servo1 arribe a eixa posicio
delay(15);
}
//Espera 2 segons amb la barrera baixada
delay(2000) ;
} // Acaba el bucle loop i torna a la linea de començament de nou cicle
|
Llicenciat sota la Llicència Creative Commons Reconeixement NoComercial CompartirIgual 3.0